<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>NetSurf | Development Progress</title>
<link rel="stylesheet" type="text/css" href="../netsurf">
<link rel="icon" type="image_png" href="http://www.netsurf-browser.org/webimages/favicon_png">
</head>

<body>
<p class="banner"><a href="../welcome/index_en"><img src="../netsurf_png" alt="NetSurf"></a></p>

<div class="navigation" style="display: none">
<div class="navsection">
<ul>
<li><a href="http://www.netsurf-browser.org/about/">About NetSurf</a></li>
<li><a href="http://www.netsurf-browser.org/downloads/">Downloads</a></li>
<li><a href="../documentation/index_en">Documentation</a>
<ul>
<li><a href="../documentation/info_en">User info</a></li>
<li><a href="../documentation/guide_en">User guide</a></li>
<li><a href="../documentation/progress_en">Project progress</a></li>
<li><a href="../documentation/develop_en">Developer info</a></li>
</ul>
</li>
<li><a href="http://www.netsurf-browser.org/developers/">Development area</a></li>
<li><a href="http://www.netsurf-browser.org/webmasters/">Webmaster area</a></li>
<li><a href="../contact/index_en">Contact</a></li>
</ul>
</div>

<div class="navsection">
<ul class="languages">
<!--<li><a href="index_de">Deutsch</a></li>-->
<li>English</li>
<!--<li><a href="index_fr">Français</a></li>-->
<!--<li><a href="index_nl">Nederlands</a></li>-->
</ul>
</div>

<div class="navsection">
<ul class="sitelinks">
<li><a href="http://wiki.netsurf-browser.org/">Development wiki</a></li>
<li><a href="http://source.netsurf-browser.org/">SVN repository viewer</a></li>
</ul>
</div>

</div>

<div class="onlycontent">

<p class="breadcrumbs"><a href="../welcome/index_en">Home</a> » <a href="../documentation/index_en">Documentation</a> » Development progress</p>

<h1>Development Progress</h1>

<p>This page provides an indication of the current status of various features and gives an idea of where future development will be aimed. Features are split up as follows:</p>

<ul>
<li><a href="#General">General</a></li>
<li><a href="#WebStandards">Web standards</a>
<ul><li><a href="#ImportantHTML">Important HTML features</a></li>
<li><a href="#CSSFeatures">CSS features</a></li>
<li><a href="#CSSProperties">CSS properties</a></li></ul></li>
<li><a href="#Images">Image support</a></li>
<li><a href="#ROStandards">RISC&nbsp;OS specific standards</a></li>
<li><a href="#NSF">NetSurf features</a></li>
</ul>

<p class="updated">Last updated 30 April 2009</p>

<h2 id="General"></h2>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="inprogress"><td>Web standards</td><td>In progress</td><td>Most of HTML 4 and CSS 2.1 are implemented which enabled NetSurf to access most of the web, however, JavaScript is currently unimplemented. This means NetSurf currently lacks support for certain dynamic content.</td></tr>
<tr class="nearlydone"><td>User interface (RISC&nbsp;OS)</td><td>Nearly done</td><td>RISC&nbsp;OS interface is mature.</td></tr>
<tr class="inprogress"><td>User interface (GTK)</td><td>In progress</td><td>The nsgtk user interface is sufficient to allow web browsing but currently lacks many features expected of a web browser.</td></tr>
<tr class="inprogress"><td>Documentation</td><td>In progress</td><td>Much of the core functionality and RISC&nbsp;OS specific features are documented. There is very scant documentation for nsgtk.</td></tr>
</table>

<h2 id="WebStandards">Web standards</h2>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="nearlydone"><td>Cookies</td><td>Nearly done</td><td>User interface to handle invalid cookies not available.</td></tr>
<tr class="nearlydone"><td>CSS 1</td><td>Nearly done</td><td></td></tr>
<tr class="nearlydone"><td>CSS 2</td><td>Nearly done</td><td></td></tr>
<tr class="juststarted"><td>CSS 3</td><td>Just started</td><td>Some of the selectors have been implemented.</td></tr>
<tr class="nearlydone"><td>HTML 4</td><td>Nearly done</td><td></td></tr>
<tr class="juststarted"><td>HTML 5</td><td>Just started</td><td>An HTML 5 compliant parser is being developed.</td></tr>
<tr class="complete"><td>HTTP 1.1</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>HTTP Authentication</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>HTTPS</td><td>Complete</td><td></td></tr>
<tr class="juststarted"><td>DOM Level 0</td><td>Just started</td><td>Core mostly complete.</td></tr>
<tr class="juststarted"><td>DOM Level 1</td><td>Just started</td><td>Core mostly complete.</td></tr>
<tr class="juststarted"><td>DOM Level 2</td><td>Just started</td><td>Core mostly complete.</td></tr>
<tr class="juststarted"><td>DOM Level 3</td><td>Just started</td><td>Core mostly complete.</td></tr>
<tr class="notstarted"><td>JavaScript</td><td>Not started</td><td>Details on the <a href="info_en#JavaScript">User Information</a> page.</td></tr>
</table>

<h3 id="ImportantHTML">Important HTML features</h3>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="nearlydone"><td>Forms</td><td>Nearly done</td><td></td></tr>
<tr class="nearlydone"><td>Frames</td><td>Nearly done</td><td>Margin attributes are unimplemented.<br>Frames affect back / forward navigation and history thumbnails.</td></tr>
<tr class="complete"><td>Image Maps</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>Lists</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>Tables</td><td>Nearly done</td><td>Elements col, colgroup, rowgroup and caption not implemented.<br>Extra space is divided equally among columns instead of in proportion with content width.</td></tr>
</table>

<h3 id="CSSFeatures">CSS features</h3>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="nearlydone"><td>Selectors</td><td>Nearly done</td><td>CSS 1 and CSS 2 selectors implemented. A few CSS 3 selectors are implemented too.</td></tr>
<tr class="juststarted"><td>Pseudo-classes</td><td>Just started</td><td></td></tr>
<tr class="juststarted"><td>Pseudo-elements</td><td>Just started</td><td></td></tr>
<tr class="nearlydone"><td>Media types</td><td>Nearly done</td><td>NetSurf currently only uses the screen-targetted CSS, even when printing.</td></tr>
<tr class="complete"><td>@import</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>Cascade</td><td>Nearly done</td><td>There is no user stylesheet.</td></tr>
</table>

<h3 id="CSSProperties">CSS properties</h3>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="notstarted"><td>background-attachment</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>background-color</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>background-image</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>background-position</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>background-repeat</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>background (shorthand)</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-collapse</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-color</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-spacing</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-style</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-[top|right|bottom|left]</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-*-color</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-*-style</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>border-*-width</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>bottom</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>caption-side</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>clear</td><td>Nearly done</td><td>Some issues with floats remain.</td></tr>
<tr class="notstarted"><td>clip</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>color</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>content</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>counter-increment</td><td>Complete</td><td>Can't be used until content property is implemented.</td></tr>
<tr class="complete"><td>counter-reset</td><td>Complete</td><td>Can't be used until content property is implemented.</td></tr>
<tr class="complete"><td>cursor</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>direction</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>display</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>empty-cells</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>float</td><td>Nearly done</td><td>Some issues with floats remain.</td></tr>
<tr class="nearlydone"><td>font-family</td><td>Nearly done</td><td>Only generic font types are recognised, not specific font names.</td></tr>
<tr class="complete"><td>font-size</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>font-size-adjust</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>font-stretch</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>font-style</td><td>Complete</td><td></td></tr>
<tr class="inprogress"><td>font-variant</td><td>In progress</td><td>Small caps not done.</td></tr>
<tr class="complete"><td>font-weight</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>font (shorthand)</td><td>Complete</td><td>Dependent on the status of individual properties.</td></tr>
<tr class="complete"><td>height</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>left</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>letter-spacing</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>line-height</td><td>Nearly done</td><td></td></tr>
<tr class="complete"><td>list-style-image</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>list-style-position</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>list-style-type</td><td>Nearly done</td><td></td></tr>
<tr class="complete"><td>list-style (shorthand)</td><td>Complete</td><td>Dependent on the status of individual properties.</td></tr>
<tr class="complete"><td>margin-[top|right|bottom|left]</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>margin (shorthand)</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>marker-offset</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>marks</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>max-height</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>max-width</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>min-height</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>min-width</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>orphans</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>outline-color</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>outline-style</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>outline-width</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>outline (shorthand)</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>overflow</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>padding-[top|right|bottom|left]</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>padding (shorthand)</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>page</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>page-break-[after|before|inside]</td><td>Not started</td><td></td></tr>
<tr class="inprogress"><td>position</td><td>In progress</td><td>Fixed position not implemented.</td></tr>
<tr class="notstarted"><td>quotes</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>right</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>size</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>table-layout</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>text-align</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>text-decoration</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>text-indent</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>text-shadow</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>text-transform</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>top</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>unicode-bidi</td><td>Not started</td><td></td></tr>
<tr class="inprogress"><td>vertical-align</td><td>In progress</td><td>Only implemented for table cells.</td></tr>
<tr class="inprogress"><td>visibility</td><td>In progress</td><td></td></tr>
<tr class="inprogress"><td>white-space</td><td>In progress</td><td></td></tr>
<tr class="notstarted"><td>widows</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>width</td><td>Complete</td><td></td></tr>
<tr class="notstarted"><td>word-spacing</td><td>Not started</td><td></td></tr>
<tr class="notstarted"><td>z-index</td><td>Not started</td><td></td></tr>
</table>

<h2 id="Images">Image support</h2>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="complete"><td>Artworks (RISC&nbsp;OS)</td><td>Complete</td><td>Requires <a href="http://www.mw-software.com/software/awmodules/awrender.html">AWRender</a>.</td></tr>
<tr class="complete"><td>BMP</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>Drawfile (RISC&nbsp;OS)</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>GIF</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>ICO</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>JNG</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>JPEG</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>MNG</td><td>Nearly done</td><td>Interactive features aren't supported.</td></tr>
<tr class="nearlydone"><td>PNG</td><td>Nearly done</td><td>Gamma correction is not correct for PNGs with alpha channels.</td></tr>
<tr class="complete"><td>Sprite (RISC&nbsp;OS)</td><td>Complete</td><td></td></tr>
<tr class="inprogress"><td>SVG Tiny (RISC&nbsp;OS)</td><td>In progress</td><td>Via <a href="http://www.netsurf-browser.org/projects/libsvgtiny/">Libsvgtiny</a>.</td></tr>
<tr class="complete"><td>SVG (GTK)</td><td>Complete</td><td>Via <a href="http://librsvg.sourceforge.net/">rsvg</a>.</td></tr>
</table>

<h2 id="ROStandards">RISC&nbsp;OS specific standards</h2>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="complete"><td>Acorn URI Protocol</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>Ant URL Protocol</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>Plugin Protocol</td><td>Nearly done</td><td>Incomplete implementation.</td></tr>
</table>

<h2 id="NSF">NetSurf features</h2>

<table class="progress">
<tr><th class="progresstitle">Title</th><th class="progressstatus">Status</th><th>Notes</th></tr>
<tr class="complete"><td>Advertisement Blocking</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>Buffered Rendering Options</td><td>Complete</td><td>Substantially improves the display of content.<br>Details in the <a href="guide_en#BrowserWindowMenuDisplayRender">User Guide</a> (RISC OS).</td></tr>
<tr class="complete"><td>Configuration (RISC&nbsp;OS)</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>Configuration (GTK)</td><td>Nearly done</td><td></td></tr>
<tr class="notstarted"><td>Disc Cache</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>Dithering (RISC&nbsp;OS)</td><td>Complete</td><td>Gives improved rendering in sub true colour screen modes.<br>Both simple dithering and error diffusion available.</td></tr>
<tr class="nearlydone"><td>Documentation (RISC&nbsp;OS)</td><td>Nearly done</td><td>See the <a href="../documentation/index_en">contents page</a>.</td></tr>
<tr class="juststarted"><td>Documentation (GTK)</td><td>Just started</td><td>Currently only build instructions exist for nsgtk. There is no user guide.</td></tr>
<tr class="complete"><td>Downloads (RISC&nbsp;OS)</td><td>Complete</td><td>Following a link to a file NetSurf can't render opens the download dialogue box.</td></tr>
<tr class="complete"><td>Downloads (GTK)</td><td>Complete</td><td></td></tr>
<tr class="nearlydone"><td>Find Text (RISC&nbsp;OS)</td><td>Nearly done</td><td>Doesn't find phrases if they are split across lines.</td></tr>
<tr class="juststarted"><td>Find Text (GTK)</td><td>Just started</td><td></td></tr>
<tr class="nearlydone"><td>Full Save (RISC&nbsp;OS)</td><td>Nearly done</td><td>Save pages with CSS files and images.<br>Doesn't rewrite URLs for CSS background images.</td></tr>
<tr class="notstarted"><td>Full Save (GTK)</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>History - Global (RISC&nbsp;OS)</td><td>Nearly done</td><td>Details in the <a href="guide_en#History">User Guide</a>.</td></tr>
<tr class="juststarted"><td>History - Global (GTK)</td><td>Just started</td><td>Some support but very incomplete.</td></tr>
<tr class="complete"><td>History - Local (RISC&nbsp;OS)</td><td>Complete</td><td>Details in the <a href="guide_en#History">User Guide</a>.</td></tr>
<tr class="nearlydone"><td>History - Local (GTK)</td><td>Nearly done</td><td></td></tr>
<tr class="nearlydone"><td>Hotlist / bookmarks (RISC&nbsp;OS)</td><td>Nearly done</td><td>Details in the <a href="guide_en#Hotlist">User Guide</a>.</td></tr>
<tr class="notstarted"><td>Hotlist / bookmarks (GTK)</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>Interactive Help (RISC&nbsp;OS)</td><td>Nearly done</td><td></td></tr>
<tr class="nearlydone"><td>Interactive Help (GTK)</td><td>Nearly done</td><td>Extensive tool tips for GUI but none for rendering area.</td></tr>
<tr class="complete"><td>Memory Cache</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>Printing (RISC&nbsp;OS)</td><td>Complete</td><td>Details on the <a href="roinfo_en#Printing">RISC&nbsp;OS User Information</a> page.</td></tr>
<tr class="complete"><td>Printing (GTK)</td><td>Complete</td><td></td></tr>
<tr class="inprogress"><td>Proxy Support</td><td>In progress</td><td>Protocols other than HTTP are incorrectly proxied.</td></tr>
<tr class="nearlydone"><td>Save as Drawfile (RISC&nbsp;OS)</td><td>Nearly done</td><td>Embedded drawfiles aren't exported when saving page as Draw. (Draw is a RISC OS vector graphics format.)</td></tr>
<tr class="inprogress"><td>Save as Text (RISC&nbsp;OS)</td><td>In progress</td><td>Some issues with spacing out of text.</td></tr>
<tr class="notstarted"><td>Save as Text (GTK)</td><td>Not started</td><td></td></tr>
<tr class="complete"><td>Scale View (RISC&nbsp;OS)</td><td>Complete</td><td>Web pages and images can be scaled up and down.</td></tr>
<tr class="nearlydone"><td>Text Selection</td><td>Nearly done</td><td>Text selection in text areas is incomplete.</td></tr>
<tr class="complete"><td>Themes (RISC&nbsp;OS)</td><td>Complete</td><td>Themes are available from the <a href="http://www.netsurf-browser.org/downloads/themes/">NetSurf themes page</a>.</td></tr>
<tr class="inprogress"><td>Themes (GTK)</td><td>In progress</td><td></td></tr>
<tr class="complete"><td>Toolbar Customisation (RISC&nbsp;OS)</td><td>Complete</td><td>Toolbars can be customised to show the icons you want, in the order you want.<br>Details in the <a href="guide_en#ConfigurationToolbar">User Guide</a>.</td></tr>
<tr class="notstarted"><td>Toolbar Customisation (GTK)</td><td>Not started</td><td></td></tr>
<tr class="nearlydone"><td>Unicode Font Support (RISC&nbsp;OS)</td><td>Nearly done</td><td>Details on the <a href="roinfo_en#Unicode">RISC&nbsp;OS User Information</a> page.</td></tr>
<tr class="complete"><td>Unicode Font Support (GTK)</td><td>Complete</td><td></td></tr>
<tr class="complete"><td>URL Completion</td><td>Complete</td><td>When typing a URL into the URL bar, NetSurf will display suggestions for the full address.</td></tr>
<tr class="complete"><td>View Source (RISC&nbsp;OS)</td><td>Complete</td><td>Press F8 or <i>Page &gt; View source</i> on main menu.</td></tr>
<tr class="complete"><td>View Source (GTK)</td><td>Complete</td><td></td></tr>
</table>


<div class="footer">
<p>Copyright 2003 - 2009 The NetSurf Developers</p>
</div>

</div>


<form method="get" action="http://www.google.co.uk/search">
<div class="searchbox" style="display:none">
<input type="hidden" name="q" value="site:netsurf-browser.org">
<input type="text" name="q" maxlength="255"><br>
<input type="submit" value="Search" name="btnG">
</div>
</form>

</body>
</html>